package com.s7.app.mvp;

import java.lang.reflect.ParameterizedType;

public class CreateUtils {

    /**
     * 获取泛型实体
     * 内部获取第X个类型参数的真实类型 ，反射new出对象
     * @param o
     * @param i
     * @param <T>
     * @return
     */
   public static <T> T getT(Object o, int i) {
        try {
            return ((Class<T>) ((ParameterizedType) (o.getClass().getGenericSuperclass())).getActualTypeArguments()[i]).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
